package mainPNN;

import java.util.ArrayList;

import mainCNN.CNN;

import util.Constantes;
import util.PadraoTreinamento;
import util.Util;

public class MainPNN3 {
	public static void main(String[] args) {
		//ArrayList<PadraoTreinamento> padroesTreinamento = Util.getTrainingData(Constantes.NM_CAMINHO_DATASET + "arrhythmia.data");
		//ArrayList<PadraoTreinamento> padroesTreinamento = Util.getTrainingData(Constantes.NM_CAMINHO_DATASET + "synth.data");
		//ArrayList<PadraoTreinamento> padroesTreinamento = Util.getTrainingData(Constantes.GET_NM_PATH_DATASET + "spanningtree.data");
		//ArrayList<PadraoTreinamento> padroesTreinamento = Util.getTrainingData(Constantes.GET_NM_PATH_DATASET + "pnn.txt");			
		
		ArrayList<PadraoTreinamento> arrayRecursivoFinal = null;
		
		PNN3 prototypeNearestNeighbor = null;
		
		String nomeDiretorio = "sintetica\\";
		String nomeSufixo = "SINTETICA";
		String nomeArquivoTreino = "SYNTH";
		
		for (int i = 0; i < 10; i++) {
			ArrayList<PadraoTreinamento> padroesTreinamento = Util.getTrainingData(Constantes.GET_NM_PATH_DATASET + nomeDiretorio + nomeSufixo + "_" + i);
			prototypeNearestNeighbor = new PNN3(padroesTreinamento);
			int t = padroesTreinamento.size();
			System.out.println(nomeSufixo + "_" + i);
			System.out.print("Tamanho original/final: ["+ t + "/");
			arrayRecursivoFinal = prototypeNearestNeighbor.executar();
			
			System.out.println(arrayRecursivoFinal.size()+"] = "+((double)arrayRecursivoFinal.size()/(double) (t)));
			
			PNN3 pnn3 = new PNN3(padroesTreinamento);
			ArrayList<PadraoTreinamento> arrayTeste = Util.getTrainingData(Constantes.GET_NM_PATH_DATASET + nomeDiretorio + nomeArquivoTreino + "_" +i);
			pnn3.testar(arrayTeste, arrayRecursivoFinal);
		}
	}
		
}
